//PROGRAM TO PLOT BINET'S FORMULA: Program Rev 4a

XEQLBL FF BINET          // BINDS THE PROGRAM NAME TO THE SOFTMENU BUTTON

  ERPN                   // ENSURE IN ERPN. MAY NOT BE NEEDED.
  DOTD                   // ENSURE IN REAL MODE
  CLSUM                  // CLEAR STATS DATA. CLΣ.
  TICKS STO 01           // GET CURRENT TIME IN 0.1 SECOND UNITS
  101 STO 00             // 100 LOOPS, COUNTER REG00, 101 (STARTNO) DECREMENTS TO 1, AT 0 IT SKIPS
  STO 02                 // LOOP START VALUE STORED FOR LATER USE
  DROPX DROPX

  LBL M1                 // CREATE LOOPING LABEL. FOUR LABELS AVAILABLE M1, M2, M3, M4
    RCL 02               // GET THE START VALUE OF THE LOOP COUNTER
    RCL 00 -             // REVERSE THE RANGE TO: 0 TO STARTNO-1
    GSB M4               // CALL SUB TO PRODUCE Y AND X. NO NESTING POSSIBLE.
    SUM+                 // USE SUM+ TO SEND X&Y TO STATS BUFFER. Σ+.
    DROPX DROPX
    DSZ 00               // DECREMENT AND SKIP NEXT COMMAND IF RESULT ZERO
  GTO M1                 // THE GTO IS SKIPPED IF RESULT 0

  TICKS                  // GET CLOCK STATUS
  RCL 01 -               // GET STORED CLOCK STATUS. GET EXPIRED TIME
  10 /                   // DIVIDE BY 10 TO GET SECONDS
  ALPHA " SEC" EXIT +    // ADD TEXT
  PLTRST
  PLSTAT                 // PLOTS THE STATS DATA
RETURN                   // STOPS


//---SUBROUTINE----------   ------------------------------------------------------------
LBL M4                   // CALC SUB: N IS 0 TO (STARTNO-1)
  RCL 02 DECR X / 7 *    // SCALE THE RANGE TO: ([0:100]/(101-1)*7)-2
  2 -                    // SHIFT THE X RANGE: 0*7/100-2 to 100*7/100-2
                         // CONVERTED TO RANGE: -2 to 5 in a 100 steps
  ENTER                  // DUPLICATE N
  PHI X<>Y Y^X           // PHI^N
  X<>Y                   // GET N
  PHI CHS X<>Y CHS Y^X   // (-PHI)^-N
  - 5 SQRT /             // SUBTRACT & DIV BY SQRT 5
  ENTER IM X<>Y RE       // DUPLICATE AND SPLIT UP INTO X Y

RTN                      //RETURN TO MAIN PROGRAM

END                      //OPTIONAL END OF PROCESSING MARKER

//PLOT ( (phi)^n - (-phi)^-n ) /sqrt(5) IN COMPLEX PLANE FOR N IS RATIONAL
